# -*- coding: utf-8 -*-

from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys


class QDia(QMainWindow):
    def __init__(self, parent=None):
        super(QDia, self).__init__(parent)
        self.setWindowTitle("QDialog 例子")
        self.resize(300, 300)

        # 创建按钮，注意()内的self必不可少，用于加载自身的一些属性设置
        self.btn = QPushButton(self)
        self.btn.setText("弹出对话框")
        self.btn.move(50, 50)
        self.btn.clicked.connect(self.show_)

    def show_(self):
        # 创建QDialog对象
        dia = QDialog()
        # 创建按钮到新创建的dialog对象中
        btn_ok = QPushButton("OK", dia)
        btn_ok.move(50, 50)
        dia.setWindowTitle("QDial框")
        # 设置窗口的属性为ApplicationModal模态，用户只有关闭弹窗后，才能关闭主界面
        dia.setWindowModality(Qt.ApplicationModal)
        # 点击OK退出
        btn_ok.clicked.connect(dia.close)
        dia.exec_()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    dia = QDia()
    dia.show()
    sys.exit(app.exec_())
